package com.fang.concurrency.chapter3;

/*
 * native 本地方法区如  priavte native void start0();
 */
public class CreateThread3 {

	private int i = 0;

	private byte[] bytes = new byte[1024];

	private static int counter = 0;

	// JVM will create a thread named "main"
	// 这里的栈主要有方法区，虚拟机栈，本地方法区
	public static void main(String[] args) {
		// create a JVM stack 创建一个虚拟机栈
		int j = 0;

		try {
			add(0);
		} catch (Error e) {
			e.printStackTrace();
			System.out.println(counter);
		}
	}

	// StackOverflowError 栈溢出
	private static void add(int i) {
		++counter;
		add(i + 1);
	}
}

// StackOverflowError
// 21456